package com.physics.mps.module.compute;

import com.physics.mps.entity.dto.TaskParamEntity;
import com.physics.mps.entity.dto.TaskResultEntity;

/**
 * @author mcsoft
 * @since 2023/8/26
 */
public class AbstractComputeService implements ComputeService {



    // ~ Variable & Constant
    // ========================================================================================================


    private String computeApp;

    public static String COMPUTE_APP_ABAQUS = "abaqus";

    public static String COMPUTE_APP_ANSYS = "ansys";

    public static String COMPUTE_APP_COMSOL = "comsol";


    // ~ Public method
    // ========================================================================================================


    // ~ Override method
    // ========================================================================================================

    @Override
    public TaskResultEntity compute(TaskParamEntity taskParam) {

        // 下载stp文件

        // 转换格式

        // 根据前端参数，判断使用哪个仿真软件与模块

        // 根据前端传入仿真参数，生成py命令

        // 开始仿真

        // 检测仿真任务状态

        // 输出仿真结果

        // 上传仿真结果到文件服务器

        // 解析返回结果，生成新格式文件

        // 上传新格式文件到文件服务器

        return null;
    }

    // ~ Private method
    // ========================================================================================================


    // ~ Autowired
    // ========================================================================================================


}
